package demo9;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.util.LinkedHashMap;
import java.util.Objects;
/**
 * large extendsion
 *  1.当有多个LinkedHashMap时，必须要将相同key route 到相同的map下，  根据key进行范围划分 保证相同请求路由到相同机器，
 *  2.否则只能分发map。
 *  缓存最近几次查询结果，进行分发
 *  1. k-v
 *  2. 数据过期
 *  3.
 *
 *
 */
public class CacheForManyMachine {
    private String content;
    public Cache create(){
        return new Cache();
    }
    @Data
    @Getter
    @Setter
    public class Cache<T>{
        LinkedHashMap<String ,T> map=new LinkedHashMap<>(16,0.75f,true);
        LinkedHashMap<String ,T> map2=new LinkedHashMap<>(16,0.75f,true);

        public void update(String key ,T t){
            map.put(key,t);
        }
        public T getContentRecently(String key){
            return map.get(key);
        }
    }
    public void processSearch(String content){
        Cache cache = create();
        cache.update(content.substring(0,3),content);

    }

}